#! /bin/bash

hive  -S -e  "
--==========学生请假记录宽表========
drop table if exists bxg_dwb.dwb_student_leave_wide;
create table if not exists bxg_dwb.dwb_student_leave_wide(
    -- 请假申请表字段
    id                    string,
    class_id              string     comment '班级id',
    student_id            string     comment '学员id',
    audit_state           int        comment '审核状态 0 待审核 1 通过 2 不通过',
    leave_type            int        comment '请假类型  1 请假 2 销假',
    begin_time            string     comment '请假开始时间',
    begin_year_month_day  string     comment '请假开始日期',
    begin_hour_min_sec    string     comment '请假开始时分',
    begin_time_type       int        comment '1：上午 2：下午',
    end_time              string     comment '请假结束时间',
    end_year_month_day    string     comment '请假结束日期',
    end_hour_min_sec      string     comment '请假结束时分',
    end_time_type         int        comment '1：上午 2：下午',
    days                  string     comment '请假/已休天数',
    cancel_state          int        comment '撤销状态  0 未撤销 1 已撤销',
    cancel_time           string     comment '撤销时间',
    valid_state           int        comment '是否有效（0：无效 1：有效）',

    --班级作息表字段
    morning_begin_time    string     comment '上午开始时间',
    morning_end_time      string     comment '上午结束时间',
    afternoon_begin_time  string     comment '下午开始时间',
    afternoon_end_time    string     comment '下午结束时间',
    evening_begin_time    string     comment '晚上开始时间',
    evening_end_time      string     comment '晚上结束时间',
    use_begin_date        string     comment '使用开始日期',
    use_end_date          string     comment '使用结束日期',

    --班级课程表字段
    content               string     comment '课程内容',
    is_outline            int        comment '是否大纲 0 否 1 是',
    class_mode            string     comment '上课模式 0 传统全天 1 AB上午 2 AB下午 3 线上直播'

)comment '请假记录宽表'
partitioned by (class_date string comment '上课日期')
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
stored as ORC
tblproperties ('orc.compress'='SNAPPY');


--==========学生签到记录宽表========
drop table if exists bxg_dwb.dwb_student_signin_wide;
create table if not exists bxg_dwb.dwb_student_signin_wide(

    -- 学生签到表
    id                      string   comment '主键id',
    normal_class_flag       int      comment '是否正课 1 正课 2 自习',
    time_table_id           int      comment '作息时间id 关联tbh_class_time_table的id',
    class_id                string   comment '班级id',
    student_id              string   comment '学员id',
    signin_time             string   comment '签到时间',
    signin_date             string   comment '签到日期',
    signin_hour             string   comment '签到时分',
    inner_flag              int      comment '内外网标志  0 外网 1 内网',
    signin_type             int      comment '签到类型 1 心跳打卡 2 老师补卡',
    share_state             int      comment '共享屏幕状态 0 否 1是',
    inner_ip                string   comment '内网ip地址',

    -- 班级作息时间表
    morning_begin_time      string   comment '上午开始时间',
    morning_end_time        string   comment '上午结束时间',
    afternoon_begin_time    string   comment '下午开始时间',
    afternoon_end_time      string   comment '下午结束时间',
    evening_begin_time      string   comment '晚上开始时间',
    evening_end_time        string   comment '晚上结束时间',
    use_begin_date          string   comment '使用开始日期',
    use_end_date            string   comment '使用结束日期',


    -- 班级课程表
    content                 string   comment '课程内容',
    is_outline              int      comment '是否大纲 0 否 1 是',
    class_mode              string   comment '上课模式 0 传统全天 1 AB上午 2 AB下午 3 线上直播'

)comment '签到记录宽表'
partitioned by (class_date string comment '上课日期')
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
stored as ORC
tblproperties ('orc.compress'='SNAPPY');

"